use std::io; // use 引入第三方库

use rand::Rng; // 第三方库 生成随机数

use std::cmp::Ordering; // 枚举类型

fn main() {
    println!("猜测一个100以内的数字");
   

    let secret_number = rand::thread_rng().gen_range(1, 101); // 生成1到100 的随机数

    println!("生成的随机数是： {}", secret_number);

    loop {
         // let / const 都是不可变 必须使用 mut对其声明
        let mut guess = String :: new();
        println!("请输入一个数字");
        io::stdin()
        .read_line(&mut guess)
        .expect("无法读取");

        println!("你猜测的数字是: {}", guess);

        let guess: u32 = match guess.trim().parse() {
            Ok(number) => number,
            Err(error) => {
                println!("输入非法数字");
                println!("{}", error);
                continue;
            }
        };

        match guess.cmp(&secret_number) {
            Ordering::Less => println!("太小"), // Less 小于
            Ordering::Greater => println!("太大"), // Greater 大于
            Ordering::Equal => {// Equal 等于
                println!("成功");
                break;
            }, 
        }
    }
}
